The invention relates to microcomputers and computer systems and particularly devices, using interrupt packets of different priority, and to methods of operating such.
Computer systems may incorporate a processor with a plurality of other devices which may generate interrupt signals for transmission to the processor or other devices. The sources and destinations of such interrupt signals may be numerous thereby requiring complex interconnections or control systems to permit the processor to receive and respond to the required interrupt signals.
It is an object of the present invention to provide an improved computer system and method of operating a computer system in which a plurality of interrupt signals can be handled by addressed bit packets.
The invention provides a computer system comprising an integrated circuit device with an address and data path for distributing addressed bit packets and interconnecting a plurality of on-chip devices including at least one CPU and at least one other module, the module having circuitry responsive to an event to generate an interrupt request packet with a destination address, said CPU having event logic to decode the packet, identify a priority for the interrupt request and selectively respond to the request of the packet depending on the priority of the interrupt request.
Preferably said CPU includes packet generating circuitry responsive to receipt of said request packet to generate an addressed response bit packet for distribution on said address and data path.
The computer system may include a plurality of modules other than said CPU each connected to the address and data path and each having packet generating circuitry to generate an interrupt request packet including a destination address.
Preferably the packet generating circuitry of a module includes means to indicate the address of the destination for the packet as well as the address of the module acting as a source of the packet.
Preferably the packet generating circuitry of each module includes a packet number identifier for identifying the request packet in a sequence of request-packets.
Preferably the packet generating circuitry of said CPU is responsive to receipt of said request packet to determine from the packet a source address of the packet and to generate a response packet using said source address as the destination indicator for the response packet.
Preferably the packet generating circuitry of the or each module is responsive to receipt of response packets so as to provide a numerical indication in a request packet identifying the request packet, said numerical indication being returned in a corresponding response packet in order to match response packets with request packets.
Preferably each interrupt request packet includes a priority indicator and said CPU includes a plurality of store devices for indicating priority of a plurality of interrupt request packets received by the CPU and comparator circuitry for comparing priorities in said store devices in relation to the priority of any current CPU activity.
Preferably said CPU includes routine indicators holding a plurality of interrupt routines for execution by the CPU and said interrupt request packets each include an indication of the source of the request packet whereby said CPU may select an interrupt routine corresponding to the source of the request packet.
The system may include two or more integrated circuit devices each connected for communication with each other through an external port on each integrated circuit device, each chip having a CPU with at least one other module and an address and data path for distributing addressed bit packets, as aforesaid.
The invention includes a method of operating a computer system comprising an integrated circuit device with an address and data path interconnecting a plurality of on-chip devices including at least one CPU and at least one other module, which method comprises detecting an event at a module, generating an interrupt request packet with a destination address, distributing the request packet on the address and data path to the destination CPU, decoding the packet at the destination to identify a priority for the interrupt request and selectively responding to the request of the packet depending on the priority of the interrupt request.
Preferably each interrupt request packet is arranged to provide an indication of the destination address, the nature of the transaction requested by the packet, and an indication of the source of the packet.
Preferably said CPU is arranged to respond to receipt of an interrupt request packet by decoding a source address from the packet and outputting onto the address and data path a response packet using said source address as a destination address for the response packet.
Preferably the method includes providing in a request packet a numerical identifier of the packet, including said numerical identifier in a corresponding response packet and using said numerical identifier at the source of the request packet to match receipt of the corresponding response packet.